<?php
/*

Plugin Name: wp-qa-plugin

Plugin URI: http://example.com/wordpress-plugins/my-plugin

Description: ///

Version: 1.0

Author: cyc

License: GPLv2

*/

add_action('add_meta_boxes', 'qa_add_custom_brief_box');

/*在文章和页面编辑界面的主栏中添加一个模块 */
function qa_add_custom_brief_box()
{
    $screens = array('post');
    foreach ($screens as $screen) {
        add_meta_box(
            '_qa_customer_brief',
            "自定义简介",
            'myplugin_inner_custom_box',
            $screen
        );
    }
}

add_action('save_post', 'qa_save_postdata');


/* 输出模块内容 */
function myplugin_inner_custom_box($post)
{

    // 使用随机数进行核查
    wp_nonce_field(plugin_basename(__FILE__), 'myplugin_noncename');

    // 用于数据输入的实际字段
    // 使用 get_post_meta 从数据库中检索现有的值，并应用到表单中
    $value = get_post_meta($post->ID, 'qa_brief', true);
    echo '<textarea class="wp-editor-area editormd-markdown-textarea"  id="qa_brief" name="qa_brief" style="height:200px;width:100%"  >' .
        esc_attr($value)
        . '</textarea>';
}

function qa_save_postdata($post_id)
{
    // 首先，我们需要检查当前用户是否被授权做这个动作。
    if (!current_user_can('edit_post', $post_id)) {
        return;
    }

    // 其次，我们需要检查，是否用户想改变这个值。
    if (!isset($_POST['myplugin_noncename']) || !wp_verify_nonce($_POST['myplugin_noncename'],
            plugin_basename(__FILE__))) {
        return;
    }

    // 第三，我们可以保存值到数据库中

    //如果保存在自定义的表，获取文章ID
    $post_ID = $_POST['post_ID'];
    //过滤用户输入
    $mydata = $_POST['qa_brief'];

    // 使用$mydata做些什么
    // 或者使用
    add_post_meta($post_ID, 'qa_brief', $mydata, true) or
    update_post_meta($post_ID, 'qa_brief', $mydata);
}